﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using ED_Nivelacion.Negocios;

namespace ED_Nivelacion.PresentacionWeb.ServiciosLocales
{
    /// <summary>
    /// Descripción breve de CuestionarioService
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    [System.Web.Script.Services.ScriptService]
    public class CuestionarioService : System.Web.Services.WebService
    {

        [WebMethod]
        public List<Cuestionario> ObtenerCuestionario()
        {
            return new Cuestionario_C().ObtenerCuestionario();
        }

        [WebMethod]
        public List<PreguntaCuestionario> ObtenerPCuestionario(int _idCuestionario)
        {
            return new PreguntaCuestionario_C().FitrarPreguntaCuestionario(_idCuestionario);
        }

        [WebMethod]
        public List<PreguntaCuestionario> ObtenerPC(int _idCuestionario)
        {
            return new PreguntaCuestionario_C().FitrarPreguntaCuestionario(_idCuestionario);
        }

        [WebMethod]
        public string AgregarPC(PreguntaCuestionario _obj)
        {
            return new PreguntaCuestionario_C().AgregarPreguntaCuestionatio(_obj);
        }

        [WebMethod]
        public string EliminarPC(int _idPregunta_Cuestionario)
        {
            return new PreguntaCuestionario_C().EliminarPreguntaCuestionario(_idPregunta_Cuestionario);
        }

        [WebMethod]
        public string ValiDarPC(PreguntaCuestionario _obj)
        {
            var n = new PreguntaCuestionario_C().ValidarPreguntaCuestionario(_obj);
            if (n.Count() == 0)
            {
                return "OK";
            }
            else
            {
                return "NO";
            }
        }




        [WebMethod]
        public List<DistribucionAcademica> ObtenerDistribucionA()
        {
            return new DistribucionAcademica_C().ObtenerDistribucionAcademica();
        }

        [WebMethod]
        public string CambiarEstado(int _idCuestionario)
        {
            return new DistribucionCuestionario_C().EditarEstado(_idCuestionario);
        }

        [WebMethod]
        public string DesactivarCuestionario(int _idCuestionario)
        {
            return new DistribucionCuestionario_C().DesactivarCuestionario(_idCuestionario);
        }

        [WebMethod]
        public string ContestarPregunta(Autoevaluacion _obj)
        {
            return new Autoevaluacion_C().InsertarAutoevaluacion(_obj);
        }

        [WebMethod]
        public string ActualizarPregunta(Autoevaluacion _obj)
        {
            return new Autoevaluacion_C().ActualizarAutoevaluacion(_obj);
        }

        [WebMethod]
        public List<Autoevaluacion> ObtenerPregunta(int _idPeriodo, int _idPregunta_Cuestionario, int _idCuestionario, int _idDistribucion_Academica)
        {
            return new Autoevaluacion_C().FiltrarAutoevaluacion(_idPeriodo, _idPregunta_Cuestionario, _idCuestionario, _idDistribucion_Academica);
        }

        [WebMethod]
        public string ContestarPreguntaCoordinador(Co_Coordinacion _obj)
        {
            return new Co_Coordinador_C().InsertarCo_Coordinador(_obj);
        }

        [WebMethod]
        public string ActualizarPreguntaCoordinador(Co_Coordinacion _obj)
        {
            return new Co_Coordinador_C().ActualizarCo_Coordinador(_obj);
        }

        [WebMethod]
        public List<Co_Coordinacion> ObtenerPreguntaCoordinador(int _idCuestionario, int _idPeriodo, int _idPregunta_Cuestionario, int _idDocente)
        {
            return new Co_Coordinador_C().FiltrarCo_Coordinador(_idCuestionario, _idPeriodo, _idPregunta_Cuestionario, _idDocente);
        }

        [WebMethod]
        public string ContestarPreguntaTutor(CoTutor _obj)
        {

            return new Co_Tutor_C().InsertarCo_Tutor(_obj);
        }

        [WebMethod]
        public string ActualizarPreguntaTutor(CoTutor _obj)
        {
            return new Co_Tutor_C().ActualizarCo_Tutor(_obj);
        }

        [WebMethod]
        public List<CoTutor> ObtenerPreguntaTutor(int _idPeriodo, int _idPregunta_Cuestionario, int _idCuestionario, int _idDistribucionAcademica)
        {
            return new Co_Tutor_C().FiltrarCo_Tutor(_idPeriodo, _idPregunta_Cuestionario, _idCuestionario, _idDistribucionAcademica);
        }

        [WebMethod]
        public string ContestarPreguntaAlumno(Heteroevaluacion _obj)
        {
            return new Heteroevaluacion_C().InsertarHeteroevaluacion(_obj);
        }

        [WebMethod]
        public string ActualizarPreguntaAlumno(Heteroevaluacion _obj)
        {
            return new Heteroevaluacion_C().ActualizarHeteroevaluacion(_obj);
        }

        [WebMethod]
        public List<Heteroevaluacion> ObtenerPreguntaAlumno(int _idPeriodo, int _idCuestionario, int _idPregunta_Cuestionario, int _idDistribucion_Academica, int _idAlumno)
        {
            return new Heteroevaluacion_C().FiltrarHeteroevaluacion(_idPeriodo, _idCuestionario, _idPregunta_Cuestionario, _idDistribucion_Academica, _idAlumno);
        }

        [WebMethod]
        public List<DistribucionAcademica> ObtenerDistribucionAcademicaParalelo(int _idParalelo)
        {
            return new DistribucionAcademica_C().FiltrarDistribucionAcademicaParalelo(_idParalelo);
        }

        [WebMethod]
        public string AgregarDistribucionAcademicaParalelo(DistribucionAcademica _obj)
        {
            return new DistribucionAcademica_C().AgregarAcademico(_obj);
        }

        [WebMethod]
        public string EliminarDistribucionAcademicaParalelo(int _idDistribucion_Academico)
        {
            return new DistribucionAcademica_C().EliminarAcademico(_idDistribucion_Academico);
        }


        [WebMethod]
        public string ValidarDistribucionAcademica(DistribucionAcademica _obj)
        {
            var n = new DistribucionAcademica_C().ValidadDistribucionAcademicaParalelo(_obj);
            if (n.Count() == 0)
            {
                return "OK";
            }
            else
            {
                return "NO";
            }
        }

        [WebMethod]
        public List<Distribucion_Criterio> ObtenerDistribucionCriterioActor(int _idActor)
        {
            return new DistribucionCriterio_C().FiltrarDCriteriosId(_idActor);
        }


        [WebMethod]
        public string AgregarDCriterio(Distribucion_Criterio _obj)
        {
            return new DistribucionCriterio_C().AgregarDCriterio(_obj);
        }

        [WebMethod]
        public string EliminarDCriterio(int _idDistribucion_Criterio)
        {
            return new DistribucionCriterio_C().EliminarDCriterio(_idDistribucion_Criterio);
        }


        [WebMethod]
        public string ValidarDistribucionCriterio(Distribucion_Criterio _obj)
        {
            var n = new DistribucionCriterio_C().ValidarDCriterios(_obj);
            if (n.Count() == 0)
            {
                return "OK";
            }
            else
            {
                return "NO";
            }
        }

        [WebMethod]
        public string AgregarAdministrador(Administrador _obj)
        {
            return new Administrador_C().AgregarAdministrador(_obj);
        }

        [WebMethod]
        public string EliminarAdministrador(int idAdministrador)
        {
            return new Administrador_C().EliminarAdministrador(idAdministrador);
        }


        [WebMethod]
        public static List<Paralelo> Obtener_Paralelo(int _idCarrera, int _idPeriodo)
        {
            return new Paralelo_C().ObtenerParaleloAjax(_idCarrera, _idPeriodo);
        }


    }
}